#ifndef SERVER_FUNCTION_H
#define SERVER_FUNCTION_H

#include "func.h"
#include "function.h"

int setnonblocking(int fd);                             // 将fd设置为非阻塞

void addfd(int epollfd, int fd, bool enable_et);        // 添加新用户(fd)， 第三个参数为true时设置为边缘触发

int epollDel(int fd, int epfd);                        // 删除epoll

int taskEnQueue(taskQueue_t *pTaskQueue, int netFd);   // 任务入队

int taskDeQueue(taskQueue_t *pTaskQueue);          // 任务出队

int tcpInit(char *ip, char *port, int *pSockFd);   

int factoryInit(factory_t *pFactory, int threadNum);                     // 用于初始化factory对象的线程池

int transFile(int netFd);              // 传输文件函数（未完善,函数体里的内容都可以修改，传输完成后设置runningFlag为0）

int handleEvent(int netFd, factory_t *pFactory);            // 线程要执行的操作

void cleanFunc(void *pArgs);                                // 线程清理

void* threadFunc(void *pArgs);

void makeWorker(factory_t *pFactory);                       // 用于线程池初始化，往线程池里创建线程

#endif
